package com.vy.stl.controller;

import com.vy.stl.util.CaptchaUtil;
import com.vy.stl.util.JWTUtil;
import com.vy.stl.util.Result;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @create: 2025/09/07 21:16
 * @description:
 */
@RestController
@RequestMapping( value = "/captcha")
public class CaptchaController {
    /**
     * 验证码
     */
    @GetMapping
    public Result captcha(){
        // 生成一个随机字符串
        String captcha = CaptchaUtil.randomCode(5);
        // 生成Base64格式的图片
        String img = CaptchaUtil.createBase64(captcha);
        // 生成 key, 10分钟有效
        String key = JWTUtil.createJWT(captcha, 10*60*1000L);
        return Result.success(0, key, img);
        /*
            生成验证码的思路2
                   1. 通过Hutool工具类生成一个随机的验证码 并且返回给前端
                   2. 在返回给前端之前，将生成的验证码存到Redis中，并且设置超时时间
         */
    }
}
